/*
 * Created by JFormDesigner on Sun Jun 09 12:24:33 CST 2024
 */

package org.study.bookmanagerclientbyswing.ui.MainView;

import javax.swing.event.*;

import com.fasterxml.jackson.core.JsonProcessingException;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.study.bookmanagerclientbyswing.api.BookApi;
import org.study.bookmanagerclientbyswing.api.UserApi;
import org.study.bookmanagerclientbyswing.io.request.Book.GetBooksReq;
import org.study.bookmanagerclientbyswing.io.request.PageReq;
import org.study.bookmanagerclientbyswing.io.response.RestBean;
import org.study.bookmanagerclientbyswing.model.BookTableModel;
import org.study.bookmanagerclientbyswing.utils.JsonUtil;
import org.study.bookmanagerclientbyswing.utils.JwtUtil;

import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.logging.Handler;
import javax.swing.*;

/**
 * @author 26482
 */
@Component
public class MainView extends JFrame {
    @Resource
    private BookApi bookApi;
    @Autowired
    private UserApi userApi;

    public MainView() {
        initComponents();
    }

    private void ShowInfo(String msg) {
        infotext.setText(msg);
        info.setVisible(true);
    }

    private void ShowError(String msg) {
        errortext.setText(msg);
        error.setVisible(true);
    }

    private void ShowWarn(String msg) {
        warntext.setText(msg);
        warn.setVisible(true);
    }

    private Object HandleResp(RestBean restBean){
        if(restBean.status!=200){
            ShowError(restBean.message);
            return null;
        }else{
            return restBean.getData();
        }
    }

    //---book---
    private List<String> Categorys=new ArrayList<>();

    public void GetBookwithPage(PageReq pageReq) {
        GetBooksReq req = getBooksReq(pageReq);
//        System.out.println(req);
        Object data=HandleResp(bookApi.findBooks(req));
        if(data==null){
            ShowError("获取书籍失败");
            return;
        }
//        System.out.println(data);
        Map<String,Object> mData=JsonUtil.objToMap(data);
//        Map<String,Object> mPage=JsonUtil.objToMap(mData.get("pageable"));
//        System.out.println(mPage);
        int totalPages = Integer.parseInt(mData.get("totalPages").toString());
        List<Map<String,Object>> mBooks=(List<Map<String,Object>>)mData.get("content");
        BookTableModel model=new BookTableModel(mBooks);
        Tbook.setModel(model);
        SpinnerNumberModel spinnerModel = (SpinnerNumberModel) spinner3.getModel();
        spinnerModel.setMaximum(totalPages);
        spinner3.setModel(spinnerModel);
        ShowInfo("获取书籍成功");
    }

    private GetBooksReq getBooksReq(PageReq pageReq) {
        GetBooksReq req=new GetBooksReq();
        req.setPageReq(pageReq);
        if(!Objects.equals(BookName.getText(), "")){
            req.setTitle(BookName.getText());
        }
        if(!Objects.equals(ISBN.getText(), "")){
            req.setIsbn(ISBN.getText());
        }
        if(!Objects.equals(Author.getText(), "")){
            req.setAuthor(Author.getText());
        }
        if(!Objects.equals(Publisher.getText(), "")){
            req.setPublisher(Publisher.getText());
        }
        if(!Categorys.isEmpty()){
            req.setCategorys(Categorys);
        }
        return req;
    }

    private void SearchMouseClicked(MouseEvent e) {
        PageReq pageReq=new PageReq();
        GetBookwithPage(pageReq);
    }

    private void AddMouseClicked(MouseEvent e) {
        String s=Category.getText();
        StringBuilder t=new StringBuilder();
        if(!Categorys.isEmpty()){
            t.append(" ");
        }
        if(!Objects.equals(s, "")){
            if(Categorys.size()>=3){
                ShowInfo("分类最多只能有三个");
                return;
            }
            Categorys.add(s);
            t.append(s);
            CategoryText.setText(CategoryText.getText()+t);
            CategoryText.setVisible(true);
            Category.setText("");
        }
    }

    private void BclearMouseClicked(MouseEvent e) {
        Categorys.clear();
        CategoryText.setText("");
        ISBN.setText("");
        BookName.setText("");
        Author.setText("");
        Publisher.setText("");
        SearchMouseClicked(e);
    }

    private void spinner3StateChanged(ChangeEvent e) {
        int newValue = (Integer) spinner3.getValue();
        PageReq pageReq=new PageReq();
        pageReq.setPage(newValue);
        GetBookwithPage(pageReq);
    }

    private void libraryTabStateChanged(ChangeEvent e) {
        int selectedIndex = library.getSelectedIndex();
        if (selectedIndex == 2) {
            Object data=HandleResp(userApi.getUserInfo(JwtUtil.getInstance().getUserName()));
            if(data==null){
                ShowError("获取用户信息失败");
                return;
            }
            Map<String, Object> mUser = JsonUtil.objToMap(data);

            String id = mUser.get("id") != null ? mUser.get("id").toString() : "";
            String name = mUser.get("name") != null ? mUser.get("name").toString() : "";
            String email = mUser.get("email") != null ? mUser.get("email").toString() : "";
            String contact = mUser.get("contact") != null ? mUser.get("contact").toString() : "";
            String registerDate = mUser.get("registerDate") != null ? mUser.get("registerDate").toString() : "";
            String authority = mUser.get("authority") != null ? mUser.get("authority").toString() : "";
            String userType = mUser.get("userType") != null ? mUser.get("userType").toString() : "";

            userID7.setText(id);
            UserName.setText(JwtUtil.getInstance().getUserName());
            Name.setText(name);
            Email.setText(email);
            Contact.setText(contact);
            RegisterDate.setText(registerDate);
            Authority.setText(authority);
            UserType.setText(userType);
        }
    }

    private void button8MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout) panel6.getLayout();
        cardLayout.show(panel6, "card2");
    }

    private void button1MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout) panel6.getLayout();
        cardLayout.show(panel6, "card3");
    }

    private void button2MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout) panel6.getLayout();
        cardLayout.show(panel6, "card6");
    }

    private void button9MouseClicked(MouseEvent e) {
        CardLayout cardLayout = (CardLayout) panel6.getLayout();
        cardLayout.show(panel6, "card4");
    }
    //---book---
    //---return ---


    //---return ---

    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents  @formatter:off
        library = new JTabbedPane();
        book = new JPanel();
        panel4 = new JPanel();
        label1 = new JLabel();
        Search = new JButton();
        label2 = new JLabel();
        label3 = new JLabel();
        label4 = new JLabel();
        ISBN = new JTextField();
        BookName = new JTextField();
        Author = new JTextField();
        Publisher = new JTextField();
        label5 = new JLabel();
        Category = new JTextField();
        Add = new JButton();
        Lcategory = new JLabel();
        CategoryText = new JLabel();
        Bclear = new JButton();
        scrollPane1 = new JScrollPane();
        Tbook = new JTable();
        panel5 = new JPanel();
        label7 = new JLabel();
        textField2 = new JTextField();
        button3 = new JButton();
        button4 = new JButton();
        spinner3 = new JSpinner();
        returnbook = new JPanel();
        panel9 = new JPanel();
        label8 = new JLabel();
        comboBox1 = new JComboBox<>();
        label9 = new JLabel();
        comboBox2 = new JComboBox<>();
        scrollPane3 = new JScrollPane();
        Treturn = new JTable();
        panel10 = new JPanel();
        label6 = new JLabel();
        textField1 = new JTextField();
        button5 = new JButton();
        spinner2 = new JSpinner();
        my = new JTabbedPane();
        panel12 = new JPanel();
        label31 = new JLabel();
        userID7 = new JLabel();
        userName = new JLabel();
        name = new JLabel();
        email = new JLabel();
        contact = new JLabel();
        registerDate = new JLabel();
        authority = new JLabel();
        userType = new JLabel();
        UserName = new JLabel();
        Name = new JLabel();
        Contact = new JLabel();
        Email = new JLabel();
        UserType = new JLabel();
        RegisterDate = new JLabel();
        Authority = new JLabel();
        panel13 = new JPanel();
        label12 = new JLabel();
        passwordField1 = new JPasswordField();
        label13 = new JLabel();
        button7 = new JButton();
        passwordField2 = new JPasswordField();
        panel14 = new JPanel();
        button6 = new JButton();
        label10 = new JLabel();
        manage = new JTabbedPane();
        panel6 = new JPanel();
        panel7 = new JPanel();
        button8 = new JButton();
        button1 = new JButton();
        button2 = new JButton();
        button9 = new JButton();
        button10 = new JButton();
        button11 = new JButton();
        panel19 = new JPanel();
        panel20 = new JPanel();
        label11 = new JLabel();
        label14 = new JLabel();
        label15 = new JLabel();
        label16 = new JLabel();
        ISBN2 = new JTextField();
        BookName2 = new JTextField();
        Author2 = new JTextField();
        Publisher2 = new JTextField();
        label17 = new JLabel();
        Category2 = new JTextField();
        Add2 = new JButton();
        Lcategory2 = new JLabel();
        label18 = new JLabel();
        BookName3 = new JTextField();
        panel21 = new JPanel();
        button25 = new JButton();
        button24 = new JButton();
        panel22 = new JPanel();
        panel23 = new JPanel();
        label19 = new JLabel();
        ISBN3 = new JTextField();
        label20 = new JLabel();
        textField3 = new JTextField();
        label21 = new JLabel();
        button26 = new JButton();
        panel24 = new JPanel();
        panel25 = new JPanel();
        label22 = new JLabel();
        ISBN4 = new JTextField();
        button27 = new JButton();
        panel26 = new JPanel();
        label23 = new JLabel();
        label25 = new JLabel();
        BookName4 = new JTextField();
        Publisher3 = new JTextField();
        label26 = new JLabel();
        Category3 = new JTextField();
        label27 = new JLabel();
        BookName5 = new JTextField();
        Author3 = new JTextField();
        label24 = new JLabel();
        button28 = new JButton();
        panel27 = new JPanel();
        panel28 = new JPanel();
        label28 = new JLabel();
        ISBN5 = new JTextField();
        button29 = new JButton();
        panel8 = new JPanel();
        panel16 = new JPanel();
        button13 = new JButton();
        button14 = new JButton();
        panel29 = new JPanel();
        panel30 = new JPanel();
        panel31 = new JPanel();
        label29 = new JLabel();
        Rid = new JTextField();
        button30 = new JButton();
        panel11 = new JPanel();
        panel17 = new JPanel();
        button15 = new JButton();
        button16 = new JButton();
        panel32 = new JPanel();
        panel33 = new JPanel();
        label30 = new JLabel();
        Rid2 = new JTextField();
        button31 = new JButton();
        panel15 = new JPanel();
        panel18 = new JPanel();
        button18 = new JButton();
        button21 = new JButton();
        button20 = new JButton();
        button17 = new JButton();
        button19 = new JButton();
        button22 = new JButton();
        panel35 = new JPanel();
        panel36 = new JPanel();
        label33 = new JLabel();
        passwordField3 = new JPasswordField();
        label34 = new JLabel();
        button12 = new JButton();
        passwordField4 = new JPasswordField();
        panel39 = new JPanel();
        panel38 = new JPanel();
        label32 = new JLabel();
        Rid3 = new JTextField();
        button32 = new JButton();
        error = new JDialog();
        panel1 = new JPanel();
        errortext = new JLabel();
        info = new JDialog();
        panel2 = new JPanel();
        infotext = new JLabel();
        warn = new JDialog();
        panel3 = new JPanel();
        warntext = new JLabel();

        //======== this ========
        setTitle("\u56fe\u4e66\u7ba1\u7406\u7cfb\u7edf");
        var contentPane = getContentPane();
        contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.X_AXIS));

        //======== library ========
        {
            library.setTabPlacement(SwingConstants.RIGHT);
            library.addChangeListener(e -> libraryTabStateChanged(e));

            //======== book ========
            {
                book.setLayout(new BorderLayout(2, 2));

                //======== panel4 ========
                {
                    panel4.setLayout(null);

                    //---- label1 ----
                    label1.setText("ISBN");
                    panel4.add(label1);
                    label1.setBounds(25, 10, 50, label1.getPreferredSize().height);

                    //---- Search ----
                    Search.setText("\u641c\u7d22");
                    Search.addMouseListener(new MouseAdapter() {
                        @Override
                        public void mouseClicked(MouseEvent e) {
                            SearchMouseClicked(e);
                        }
                    });
                    panel4.add(Search);
                    Search.setBounds(410, 5, 60, 100);

                    //---- label2 ----
                    label2.setText("\u4e66\u540d");
                    panel4.add(label2);
                    label2.setBounds(new Rectangle(new Point(25, 50), label2.getPreferredSize()));

                    //---- label3 ----
                    label3.setText("\u4f5c\u8005");
                    panel4.add(label3);
                    label3.setBounds(new Rectangle(new Point(220, 10), label3.getPreferredSize()));

                    //---- label4 ----
                    label4.setText("\u51fa\u7248\u793e");
                    panel4.add(label4);
                    label4.setBounds(new Rectangle(new Point(220, 50), label4.getPreferredSize()));
                    panel4.add(ISBN);
                    ISBN.setBounds(90, 5, 105, ISBN.getPreferredSize().height);
                    panel4.add(BookName);
                    BookName.setBounds(90, 45, 105, 35);
                    panel4.add(Author);
                    Author.setBounds(270, 5, 75, 34);
                    panel4.add(Publisher);
                    Publisher.setBounds(270, 45, 90, 34);

                    //---- label5 ----
                    label5.setText("\u6807\u7b7e");
                    panel4.add(label5);
                    label5.setBounds(new Rectangle(new Point(30, 90), label5.getPreferredSize()));
                    panel4.add(Category);
                    Category.setBounds(90, 85, 80, 35);

                    //---- Add ----
                    Add.setText("\u6dfb\u52a0");
                    Add.addMouseListener(new MouseAdapter() {
                        @Override
                        public void mouseClicked(MouseEvent e) {
                            AddMouseClicked(e);
                        }
                    });
                    panel4.add(Add);
                    Add.setBounds(180, 85, 65, 35);

                    //---- Lcategory ----
                    Lcategory.setText("\u5df2\u6dfb\u52a0:");
                    panel4.add(Lcategory);
                    Lcategory.setBounds(255, 85, Lcategory.getPreferredSize().width, 30);

                    //---- CategoryText ----
                    CategoryText.setVisible(false);
                    panel4.add(CategoryText);
                    CategoryText.setBounds(305, 85, 135, 23);

                    //---- Bclear ----
                    Bclear.setText("\u6e05\u9664\u6761\u4ef6");
                    Bclear.addMouseListener(new MouseAdapter() {
                        @Override
                        public void mouseClicked(MouseEvent e) {
                            BclearMouseClicked(e);
                        }
                    });
                    panel4.add(Bclear);
                    Bclear.setBounds(475, 5, 60, Bclear.getPreferredSize().height);

                    {
                        // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < panel4.getComponentCount(); i++) {
                            Rectangle bounds = panel4.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = panel4.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        panel4.setMinimumSize(preferredSize);
                        panel4.setPreferredSize(preferredSize);
                    }
                }
                book.add(panel4, BorderLayout.NORTH);

                //======== scrollPane1 ========
                {
                    scrollPane1.setViewportView(Tbook);
                }
                book.add(scrollPane1, BorderLayout.CENTER);

                //======== panel5 ========
                {
                    panel5.setLayout(new FlowLayout(FlowLayout.RIGHT));

                    //---- label7 ----
                    label7.setText("ID");
                    panel5.add(label7);
                    panel5.add(textField2);

                    //---- button3 ----
                    button3.setText("\u501f\u9605");
                    panel5.add(button3);

                    //---- button4 ----
                    button4.setText("\u9884\u7ea6");
                    panel5.add(button4);

                    //---- spinner3 ----
                    spinner3.setModel(new SpinnerNumberModel(0, 0, null, 1));
                    spinner3.addChangeListener(e -> spinner3StateChanged(e));
                    panel5.add(spinner3);
                }
                book.add(panel5, BorderLayout.SOUTH);
            }
            library.addTab("\u4e66\u5e93", book);

            //======== returnbook ========
            {
                returnbook.setLayout(new BorderLayout());

                //======== panel9 ========
                {
                    panel9.setLayout(new FlowLayout(FlowLayout.LEFT));

                    //---- label8 ----
                    label8.setText("\u72b6\u6001");
                    panel9.add(label8);

                    //---- comboBox1 ----
                    comboBox1.setModel(new DefaultComboBoxModel<>(new String[] {
                        "\u5168\u90e8",
                        "\u5df2\u5b8c\u6210",
                        "\u6b63\u5728\u8fdb\u884c"
                    }));
                    panel9.add(comboBox1);

                    //---- label9 ----
                    label9.setText("\u79cd\u7c7b");
                    panel9.add(label9);

                    //---- comboBox2 ----
                    comboBox2.setModel(new DefaultComboBoxModel<>(new String[] {
                        "\u501f\u9605",
                        "\u9884\u7ea6"
                    }));
                    panel9.add(comboBox2);
                }
                returnbook.add(panel9, BorderLayout.NORTH);

                //======== scrollPane3 ========
                {
                    scrollPane3.setViewportView(Treturn);
                }
                returnbook.add(scrollPane3, BorderLayout.CENTER);

                //======== panel10 ========
                {
                    panel10.setLayout(new FlowLayout(FlowLayout.RIGHT));

                    //---- label6 ----
                    label6.setText("ID");
                    panel10.add(label6);
                    panel10.add(textField1);

                    //---- button5 ----
                    button5.setText("\u8fd8\u4e66");
                    panel10.add(button5);
                    panel10.add(spinner2);
                }
                returnbook.add(panel10, BorderLayout.SOUTH);
            }
            library.addTab("\u8fd8\u4e66\u4e0e\u9884\u7ea6", returnbook);

            //======== my ========
            {

                //======== panel12 ========
                {
                    panel12.setLayout(null);

                    //---- label31 ----
                    label31.setText("ID");
                    panel12.add(label31);
                    label31.setBounds(25, 30, 14, 18);

                    //---- userID7 ----
                    userID7.setText("Unknown");
                    userID7.setFont(userID7.getFont().deriveFont(userID7.getFont().getStyle() | Font.BOLD, userID7.getFont().getSize() + 2f));
                    panel12.add(userID7);
                    userID7.setBounds(80, 30, 155, 20);

                    //---- userName ----
                    userName.setText("\u7528\u6237\u540d");
                    panel12.add(userName);
                    userName.setBounds(20, 65, 41, 18);

                    //---- name ----
                    name.setText("\u59d3\u540d");
                    panel12.add(name);
                    name.setBounds(20, 100, 41, 18);

                    //---- email ----
                    email.setText("\u90ae\u7bb1");
                    panel12.add(email);
                    email.setBounds(20, 175, 41, 18);

                    //---- contact ----
                    contact.setText("\u8054\u7cfb\u65b9\u5f0f");
                    panel12.add(contact);
                    contact.setBounds(15, 135, 60, 18);

                    //---- registerDate ----
                    registerDate.setText("\u6ce8\u518c\u65e5\u671f");
                    panel12.add(registerDate);
                    registerDate.setBounds(15, 255, 55, 18);

                    //---- authority ----
                    authority.setText("\u6743\u9650");
                    panel12.add(authority);
                    authority.setBounds(315, 30, 41, 18);

                    //---- userType ----
                    userType.setText("\u7528\u6237\u7c7b\u578b");
                    panel12.add(userType);
                    userType.setBounds(15, 215, 55, 18);

                    //---- UserName ----
                    UserName.setText("Unknown");
                    UserName.setFont(UserName.getFont().deriveFont(UserName.getFont().getStyle() | Font.BOLD, UserName.getFont().getSize() + 2f));
                    panel12.add(UserName);
                    UserName.setBounds(80, 65, 155, 20);

                    //---- Name ----
                    Name.setText("Unknown");
                    Name.setFont(Name.getFont().deriveFont(Name.getFont().getStyle() | Font.BOLD, Name.getFont().getSize() + 2f));
                    panel12.add(Name);
                    Name.setBounds(80, 100, 155, 20);

                    //---- Contact ----
                    Contact.setText("Unknown");
                    Contact.setFont(Contact.getFont().deriveFont(Contact.getFont().getStyle() | Font.BOLD, Contact.getFont().getSize() + 2f));
                    panel12.add(Contact);
                    Contact.setBounds(80, 135, 155, 20);

                    //---- Email ----
                    Email.setText("Unknown");
                    Email.setFont(Email.getFont().deriveFont(Email.getFont().getStyle() | Font.BOLD, Email.getFont().getSize() + 2f));
                    panel12.add(Email);
                    Email.setBounds(80, 175, 155, 20);

                    //---- UserType ----
                    UserType.setText("Unknown");
                    UserType.setFont(UserType.getFont().deriveFont(UserType.getFont().getStyle() | Font.BOLD, UserType.getFont().getSize() + 2f));
                    panel12.add(UserType);
                    UserType.setBounds(80, 215, 155, 20);

                    //---- RegisterDate ----
                    RegisterDate.setText("Unknown");
                    RegisterDate.setFont(RegisterDate.getFont().deriveFont(RegisterDate.getFont().getStyle() | Font.BOLD, RegisterDate.getFont().getSize() + 2f));
                    panel12.add(RegisterDate);
                    RegisterDate.setBounds(80, 250, 155, 20);

                    //---- Authority ----
                    Authority.setText("Unknown");
                    Authority.setFont(Authority.getFont().deriveFont(Authority.getFont().getStyle() | Font.BOLD, Authority.getFont().getSize() + 2f));
                    panel12.add(Authority);
                    Authority.setBounds(355, 30, 155, 20);

                    {
                        // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < panel12.getComponentCount(); i++) {
                            Rectangle bounds = panel12.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = panel12.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        panel12.setMinimumSize(preferredSize);
                        panel12.setPreferredSize(preferredSize);
                    }
                }
                my.addTab("\u6211\u7684\u4fe1\u606f", panel12);

                //======== panel13 ========
                {
                    panel13.setLayout(null);

                    //---- label12 ----
                    label12.setText("\u65e7\u5bc6\u7801");
                    panel13.add(label12);
                    label12.setBounds(new Rectangle(new Point(40, 35), label12.getPreferredSize()));
                    panel13.add(passwordField1);
                    passwordField1.setBounds(95, 25, 155, passwordField1.getPreferredSize().height);

                    //---- label13 ----
                    label13.setText("\u65b0\u5bc6\u7801");
                    panel13.add(label13);
                    label13.setBounds(new Rectangle(new Point(40, 75), label13.getPreferredSize()));

                    //---- button7 ----
                    button7.setText("\u786e\u8ba4\u4fee\u6539");
                    panel13.add(button7);
                    button7.setBounds(50, 115, 195, button7.getPreferredSize().height);
                    panel13.add(passwordField2);
                    passwordField2.setBounds(95, 65, 155, passwordField2.getPreferredSize().height);

                    {
                        // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < panel13.getComponentCount(); i++) {
                            Rectangle bounds = panel13.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = panel13.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        panel13.setMinimumSize(preferredSize);
                        panel13.setPreferredSize(preferredSize);
                    }
                }
                my.addTab("\u4fee\u6539\u5bc6\u7801", panel13);

                //======== panel14 ========
                {
                    panel14.setLayout(null);

                    //---- button6 ----
                    button6.setText("\u6ce8\u9500\u8d26\u53f7");
                    button6.setForeground(Color.white);
                    button6.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));
                    panel14.add(button6);
                    button6.setBounds(170, 110, 145, 49);

                    //---- label10 ----
                    label10.setText("\u6ce8\u610f\uff01\u6b64\u64cd\u4f5c\u4e0d\u53ef\u64a4\u56de\uff01");
                    label10.setForeground(new Color(0xcc0033));
                    panel14.add(label10);
                    label10.setBounds(170, 165, 175, 23);

                    {
                        // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < panel14.getComponentCount(); i++) {
                            Rectangle bounds = panel14.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = panel14.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        panel14.setMinimumSize(preferredSize);
                        panel14.setPreferredSize(preferredSize);
                    }
                }
                my.addTab("\u6ce8\u9500", panel14);
            }
            library.addTab("\u4e2a\u4eba\u4e2d\u5fc3", my);

            //======== manage ========
            {

                //======== panel6 ========
                {
                    panel6.setLayout(new CardLayout());

                    //======== panel7 ========
                    {
                        panel7.setLayout(new GridLayout(2, 2));

                        //---- button8 ----
                        button8.setText("\u65b0\u589e\u56fe\u4e66");
                        button8.addMouseListener(new MouseAdapter() {
                            @Override
                            public void mouseClicked(MouseEvent e) {
                                button8MouseClicked(e);
                            }
                        });
                        panel7.add(button8);

                        //---- button1 ----
                        button1.setText("\u5f55\u5165\u56fe\u4e66");
                        button1.addMouseListener(new MouseAdapter() {
                            @Override
                            public void mouseClicked(MouseEvent e) {
                                button1MouseClicked(e);
                            }
                        });
                        panel7.add(button1);

                        //---- button2 ----
                        button2.setText("\u5220\u9664\u56fe\u4e66");
                        button2.addMouseListener(new MouseAdapter() {
                            @Override
                            public void mouseClicked(MouseEvent e) {
                                button2MouseClicked(e);
                            }
                        });
                        panel7.add(button2);

                        //---- button9 ----
                        button9.setText("\u4fee\u6539\u56fe\u4e66");
                        button9.addMouseListener(new MouseAdapter() {
                            @Override
                            public void mouseClicked(MouseEvent e) {
                                button9MouseClicked(e);
                            }
                        });
                        panel7.add(button9);

                        //---- button10 ----
                        button10.setText("\u64cd\u4f5c\u8bb0\u5f55");
                        panel7.add(button10);

                        //---- button11 ----
                        button11.setText("\u2026\u2026");
                        panel7.add(button11);
                    }
                    panel6.add(panel7, "card5");

                    //======== panel19 ========
                    {
                        panel19.setLayout(new BorderLayout());

                        //======== panel20 ========
                        {
                            panel20.setLayout(null);

                            //---- label11 ----
                            label11.setText("ISBN");
                            panel20.add(label11);
                            label11.setBounds(5, 5, 50, 18);

                            //---- label14 ----
                            label14.setText("\u4e66\u540d");
                            panel20.add(label14);
                            label14.setBounds(5, 45, 26, 18);

                            //---- label15 ----
                            label15.setText("\u4f5c\u8005");
                            panel20.add(label15);
                            label15.setBounds(195, 5, 26, 18);

                            //---- label16 ----
                            label16.setText("\u51fa\u7248\u793e");
                            panel20.add(label16);
                            label16.setBounds(195, 45, 38, 18);
                            panel20.add(ISBN2);
                            ISBN2.setBounds(65, 0, 105, 34);
                            panel20.add(BookName2);
                            BookName2.setBounds(65, 40, 105, 34);
                            panel20.add(Author2);
                            Author2.setBounds(245, 0, 75, 34);
                            panel20.add(Publisher2);
                            Publisher2.setBounds(245, 40, 90, 34);

                            //---- label17 ----
                            label17.setText("\u6807\u7b7e");
                            panel20.add(label17);
                            label17.setBounds(5, 85, 26, 18);
                            panel20.add(Category2);
                            Category2.setBounds(65, 80, 75, 34);

                            //---- Add2 ----
                            Add2.setText("\u6dfb\u52a0");
                            Add2.addMouseListener(new MouseAdapter() {
                                @Override
                                public void mouseClicked(MouseEvent e) {
                                    AddMouseClicked(e);
                                }
                            });
                            panel20.add(Add2);
                            Add2.setBounds(150, 80, 65, 35);

                            //---- Lcategory2 ----
                            Lcategory2.setText("\u5df2\u6dfb\u52a0:");
                            panel20.add(Lcategory2);
                            Lcategory2.setBounds(5, 115, 42, 30);

                            //---- label18 ----
                            label18.setText("\u4ef7\u683c");
                            panel20.add(label18);
                            label18.setBounds(5, 155, 40, 25);
                            panel20.add(BookName3);
                            BookName3.setBounds(65, 150, 105, 34);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel20.getComponentCount(); i++) {
                                    Rectangle bounds = panel20.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel20.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel20.setMinimumSize(preferredSize);
                                panel20.setPreferredSize(preferredSize);
                            }
                        }
                        panel19.add(panel20, BorderLayout.NORTH);

                        //======== panel21 ========
                        {
                            panel21.setLayout(new FlowLayout(FlowLayout.RIGHT));

                            //---- button25 ----
                            button25.setText("\u6682\u5b58");
                            panel21.add(button25);

                            //---- button24 ----
                            button24.setText("\u6dfb\u52a0\u5e76\u8df3\u8f6c");
                            panel21.add(button24);
                        }
                        panel19.add(panel21, BorderLayout.SOUTH);
                    }
                    panel6.add(panel19, "card2");

                    //======== panel22 ========
                    {
                        panel22.setLayout(new BorderLayout());

                        //======== panel23 ========
                        {
                            panel23.setLayout(null);

                            //---- label19 ----
                            label19.setText("ISBN");
                            panel23.add(label19);
                            label19.setBounds(35, 25, 50, 18);
                            panel23.add(ISBN3);
                            ISBN3.setBounds(90, 15, 145, 34);

                            //---- label20 ----
                            label20.setText("\u6761\u5f62\u7801");
                            panel23.add(label20);
                            label20.setBounds(35, 55, 40, 30);
                            panel23.add(textField3);
                            textField3.setBounds(90, 55, 145, textField3.getPreferredSize().height);

                            //---- label21 ----
                            label21.setText("ps:\u683c\u5f0f\u4e3a\u5341\u4f4d\u5b57\u7b26\u4e32");
                            panel23.add(label21);
                            label21.setBounds(35, 90, 170, 30);

                            //---- button26 ----
                            button26.setText("\u786e\u8ba4");
                            panel23.add(button26);
                            button26.setBounds(45, 130, 185, 35);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel23.getComponentCount(); i++) {
                                    Rectangle bounds = panel23.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel23.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel23.setMinimumSize(preferredSize);
                                panel23.setPreferredSize(preferredSize);
                            }
                        }
                        panel22.add(panel23, BorderLayout.NORTH);
                    }
                    panel6.add(panel22, "card3");

                    //======== panel24 ========
                    {
                        panel24.setLayout(new BorderLayout());

                        //======== panel25 ========
                        {
                            panel25.setLayout(null);

                            //---- label22 ----
                            label22.setText("ISBN");
                            label22.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 24));
                            panel25.add(label22);
                            label22.setBounds(10, 15, 55, 35);
                            panel25.add(ISBN4);
                            ISBN4.setBounds(80, 5, 195, 50);

                            //---- button27 ----
                            button27.setText("\u641c\u7d22");
                            panel25.add(button27);
                            button27.setBounds(300, 5, 100, 50);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel25.getComponentCount(); i++) {
                                    Rectangle bounds = panel25.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel25.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel25.setMinimumSize(preferredSize);
                                panel25.setPreferredSize(preferredSize);
                            }
                        }
                        panel24.add(panel25, BorderLayout.NORTH);

                        //======== panel26 ========
                        {
                            panel26.setLayout(null);

                            //---- label23 ----
                            label23.setText("\u4e66\u540d");
                            panel26.add(label23);
                            label23.setBounds(20, 110, 26, 18);

                            //---- label25 ----
                            label25.setText("\u51fa\u7248\u793e");
                            panel26.add(label25);
                            label25.setBounds(20, 65, 38, 18);
                            panel26.add(BookName4);
                            BookName4.setBounds(80, 105, 105, 34);
                            panel26.add(Publisher3);
                            Publisher3.setBounds(80, 60, 90, 34);

                            //---- label26 ----
                            label26.setText("\u6807\u7b7e");
                            panel26.add(label26);
                            label26.setBounds(20, 150, 26, 18);
                            panel26.add(Category3);
                            Category3.setBounds(80, 145, 75, 34);

                            //---- label27 ----
                            label27.setText("\u4ef7\u683c");
                            panel26.add(label27);
                            label27.setBounds(15, 195, 40, 25);
                            panel26.add(BookName5);
                            BookName5.setBounds(80, 190, 105, 34);
                            panel26.add(Author3);
                            Author3.setBounds(80, 20, 75, 34);

                            //---- label24 ----
                            label24.setText("\u4f5c\u8005");
                            panel26.add(label24);
                            label24.setBounds(20, 30, 26, 18);

                            //---- button28 ----
                            button28.setText("\u4fee\u6539");
                            panel26.add(button28);
                            button28.setBounds(335, 175, 100, 50);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel26.getComponentCount(); i++) {
                                    Rectangle bounds = panel26.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel26.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel26.setMinimumSize(preferredSize);
                                panel26.setPreferredSize(preferredSize);
                            }
                        }
                        panel24.add(panel26, BorderLayout.CENTER);
                    }
                    panel6.add(panel24, "card4");

                    //======== panel27 ========
                    {
                        panel27.setLayout(new BorderLayout());

                        //======== panel28 ========
                        {
                            panel28.setLayout(null);

                            //---- label28 ----
                            label28.setText("ISBN");
                            label28.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 24));
                            panel28.add(label28);
                            label28.setBounds(15, 10, 55, 35);
                            panel28.add(ISBN5);
                            ISBN5.setBounds(85, 0, 195, 50);

                            //---- button29 ----
                            button29.setText("\u5220\u9664");
                            panel28.add(button29);
                            button29.setBounds(295, 0, 100, 50);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel28.getComponentCount(); i++) {
                                    Rectangle bounds = panel28.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel28.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel28.setMinimumSize(preferredSize);
                                panel28.setPreferredSize(preferredSize);
                            }
                        }
                        panel27.add(panel28, BorderLayout.NORTH);
                    }
                    panel6.add(panel27, "card6");
                }
                manage.addTab("\u56fe\u4e66", panel6);

                //======== panel8 ========
                {
                    panel8.setLayout(new CardLayout());

                    //======== panel16 ========
                    {
                        panel16.setLayout(new GridLayout());

                        //---- button13 ----
                        button13.setText("\u4fee\u6539\u501f\u9605");
                        panel16.add(button13);

                        //---- button14 ----
                        button14.setText("\u5220\u9664\u501f\u9605");
                        panel16.add(button14);
                    }
                    panel8.add(panel16, "card1");

                    //======== panel29 ========
                    {
                        panel29.setLayout(new BorderLayout());

                        //======== panel30 ========
                        {
                            panel30.setLayout(null);

                            //======== panel31 ========
                            {
                                panel31.setLayout(null);

                                //---- label29 ----
                                label29.setText("ID");
                                label29.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 24));
                                panel31.add(label29);
                                label29.setBounds(15, 10, 55, 35);
                                panel31.add(Rid);
                                Rid.setBounds(85, 0, 195, 50);

                                //---- button30 ----
                                button30.setText("\u5220\u9664");
                                panel31.add(button30);
                                button30.setBounds(295, 0, 100, 50);

                                {
                                    // compute preferred size
                                    Dimension preferredSize = new Dimension();
                                    for(int i = 0; i < panel31.getComponentCount(); i++) {
                                        Rectangle bounds = panel31.getComponent(i).getBounds();
                                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                    }
                                    Insets insets = panel31.getInsets();
                                    preferredSize.width += insets.right;
                                    preferredSize.height += insets.bottom;
                                    panel31.setMinimumSize(preferredSize);
                                    panel31.setPreferredSize(preferredSize);
                                }
                            }
                            panel30.add(panel31);
                            panel31.setBounds(0, 0, 549, 55);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel30.getComponentCount(); i++) {
                                    Rectangle bounds = panel30.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel30.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel30.setMinimumSize(preferredSize);
                                panel30.setPreferredSize(preferredSize);
                            }
                        }
                        panel29.add(panel30, BorderLayout.NORTH);
                    }
                    panel8.add(panel29, "card2");
                }
                manage.addTab("\u501f\u9605", panel8);

                //======== panel11 ========
                {
                    panel11.setLayout(new CardLayout());

                    //======== panel17 ========
                    {
                        panel17.setLayout(new GridLayout());

                        //---- button15 ----
                        button15.setText("\u4fee\u6539\u9884\u7ea6");
                        panel17.add(button15);

                        //---- button16 ----
                        button16.setText("\u5220\u9664\u9884\u7ea6");
                        panel17.add(button16);
                    }
                    panel11.add(panel17, "card1");

                    //======== panel32 ========
                    {
                        panel32.setLayout(new BorderLayout());

                        //======== panel33 ========
                        {
                            panel33.setLayout(null);

                            //---- label30 ----
                            label30.setText("ID");
                            label30.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 24));
                            panel33.add(label30);
                            label30.setBounds(15, 10, 55, 35);
                            panel33.add(Rid2);
                            Rid2.setBounds(85, 0, 195, 50);

                            //---- button31 ----
                            button31.setText("\u5220\u9664");
                            panel33.add(button31);
                            button31.setBounds(295, 0, 100, 50);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel33.getComponentCount(); i++) {
                                    Rectangle bounds = panel33.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel33.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel33.setMinimumSize(preferredSize);
                                panel33.setPreferredSize(preferredSize);
                            }
                        }
                        panel32.add(panel33, BorderLayout.NORTH);
                    }
                    panel11.add(panel32, "card2");
                }
                manage.addTab("\u9884\u7ea6", panel11);

                //======== panel15 ========
                {
                    panel15.setLayout(new CardLayout());

                    //======== panel18 ========
                    {
                        panel18.setLayout(new GridLayout(2, 3));

                        //---- button18 ----
                        button18.setText("\u65b0\u589e\u7528\u6237");
                        panel18.add(button18);

                        //---- button21 ----
                        button21.setText("\u4fee\u6539\u7528\u6237\u4fe1\u606f");
                        panel18.add(button21);

                        //---- button20 ----
                        button20.setText("\u5220\u9664\u7528\u6237");
                        panel18.add(button20);

                        //---- button17 ----
                        button17.setText("\u6279\u91cf\u5bfc\u5165\u7528\u6237");
                        panel18.add(button17);

                        //---- button19 ----
                        button19.setText("\u6279\u91cf\u5bfc\u51fa\u7528\u6237");
                        panel18.add(button19);

                        //---- button22 ----
                        button22.setText("\u2026\u2026");
                        panel18.add(button22);
                    }
                    panel15.add(panel18, "card1");

                    //======== panel35 ========
                    {
                        panel35.setLayout(new BorderLayout());

                        //======== panel36 ========
                        {
                            panel36.setLayout(null);

                            //---- label33 ----
                            label33.setText("\u7528\u6237\u540d");
                            panel36.add(label33);
                            label33.setBounds(20, 20, 38, 18);
                            panel36.add(passwordField3);
                            passwordField3.setBounds(75, 10, 155, 34);

                            //---- label34 ----
                            label34.setText("\u5bc6\u7801");
                            panel36.add(label34);
                            label34.setBounds(20, 60, 38, 18);

                            //---- button12 ----
                            button12.setText("\u786e\u8ba4");
                            panel36.add(button12);
                            button12.setBounds(30, 100, 195, 34);
                            panel36.add(passwordField4);
                            passwordField4.setBounds(75, 50, 155, 34);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel36.getComponentCount(); i++) {
                                    Rectangle bounds = panel36.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel36.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel36.setMinimumSize(preferredSize);
                                panel36.setPreferredSize(preferredSize);
                            }
                        }
                        panel35.add(panel36, BorderLayout.NORTH);
                    }
                    panel15.add(panel35, "card6");

                    //======== panel39 ========
                    {
                        panel39.setLayout(new BorderLayout());

                        //======== panel38 ========
                        {
                            panel38.setLayout(null);

                            //---- label32 ----
                            label32.setText("\u7528\u6237\u540d");
                            label32.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 24));
                            panel38.add(label32);
                            label32.setBounds(0, 10, 150, 35);
                            panel38.add(Rid3);
                            Rid3.setBounds(135, 0, 195, 50);

                            //---- button32 ----
                            button32.setText("\u5220\u9664");
                            panel38.add(button32);
                            button32.setBounds(360, 0, 100, 50);

                            {
                                // compute preferred size
                                Dimension preferredSize = new Dimension();
                                for(int i = 0; i < panel38.getComponentCount(); i++) {
                                    Rectangle bounds = panel38.getComponent(i).getBounds();
                                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                                }
                                Insets insets = panel38.getInsets();
                                preferredSize.width += insets.right;
                                preferredSize.height += insets.bottom;
                                panel38.setMinimumSize(preferredSize);
                                panel38.setPreferredSize(preferredSize);
                            }
                        }
                        panel39.add(panel38, BorderLayout.NORTH);
                    }
                    panel15.add(panel39, "card4");
                }
                manage.addTab("\u7528\u6237", panel15);
            }
            library.addTab("\u7ba1\u7406\u4e2d\u5fc3", manage);
        }
        contentPane.add(library);
        pack();
        setLocationRelativeTo(getOwner());

        //======== error ========
        {
            error.setTitle("Error");
            error.setAlwaysOnTop(true);
            var errorContentPane = error.getContentPane();
            errorContentPane.setLayout(new BoxLayout(errorContentPane, BoxLayout.X_AXIS));

            //======== panel1 ========
            {
                panel1.setLayout(new BoxLayout(panel1, BoxLayout.X_AXIS));

                //---- errortext ----
                errortext.setText("text");
                panel1.add(errortext);
            }
            errorContentPane.add(panel1);
            error.pack();
            error.setLocationRelativeTo(error.getOwner());
        }

        //======== info ========
        {
            info.setTitle("Info");
            info.setAlwaysOnTop(true);
            var infoContentPane = info.getContentPane();
            infoContentPane.setLayout(new BoxLayout(infoContentPane, BoxLayout.X_AXIS));

            //======== panel2 ========
            {
                panel2.setLayout(new BoxLayout(panel2, BoxLayout.X_AXIS));

                //---- infotext ----
                infotext.setText("text");
                panel2.add(infotext);
            }
            infoContentPane.add(panel2);
            info.pack();
            info.setLocationRelativeTo(info.getOwner());
        }

        //======== warn ========
        {
            warn.setTitle("Warn");
            warn.setAlwaysOnTop(true);
            var warnContentPane = warn.getContentPane();
            warnContentPane.setLayout(new BoxLayout(warnContentPane, BoxLayout.X_AXIS));

            //======== panel3 ========
            {
                panel3.setLayout(new BoxLayout(panel3, BoxLayout.X_AXIS));

                //---- warntext ----
                warntext.setText("text");
                panel3.add(warntext);
            }
            warnContentPane.add(panel3);
            warn.pack();
            warn.setLocationRelativeTo(warn.getOwner());
        }
        // JFormDesigner - End of component initialization  //GEN-END:initComponents  @formatter:on
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables  @formatter:off
    private JTabbedPane library;
    private JPanel book;
    private JPanel panel4;
    private JLabel label1;
    private JButton Search;
    private JLabel label2;
    private JLabel label3;
    private JLabel label4;
    private JTextField ISBN;
    private JTextField BookName;
    private JTextField Author;
    private JTextField Publisher;
    private JLabel label5;
    private JTextField Category;
    private JButton Add;
    private JLabel Lcategory;
    private JLabel CategoryText;
    private JButton Bclear;
    private JScrollPane scrollPane1;
    private JTable Tbook;
    private JPanel panel5;
    private JLabel label7;
    private JTextField textField2;
    private JButton button3;
    private JButton button4;
    private JSpinner spinner3;
    private JPanel returnbook;
    private JPanel panel9;
    private JLabel label8;
    private JComboBox<String> comboBox1;
    private JLabel label9;
    private JComboBox<String> comboBox2;
    private JScrollPane scrollPane3;
    private JTable Treturn;
    private JPanel panel10;
    private JLabel label6;
    private JTextField textField1;
    private JButton button5;
    private JSpinner spinner2;
    private JTabbedPane my;
    private JPanel panel12;
    private JLabel label31;
    private JLabel userID7;
    private JLabel userName;
    private JLabel name;
    private JLabel email;
    private JLabel contact;
    private JLabel registerDate;
    private JLabel authority;
    private JLabel userType;
    private JLabel UserName;
    private JLabel Name;
    private JLabel Contact;
    private JLabel Email;
    private JLabel UserType;
    private JLabel RegisterDate;
    private JLabel Authority;
    private JPanel panel13;
    private JLabel label12;
    private JPasswordField passwordField1;
    private JLabel label13;
    private JButton button7;
    private JPasswordField passwordField2;
    private JPanel panel14;
    private JButton button6;
    private JLabel label10;
    private JTabbedPane manage;
    private JPanel panel6;
    private JPanel panel7;
    private JButton button8;
    private JButton button1;
    private JButton button2;
    private JButton button9;
    private JButton button10;
    private JButton button11;
    private JPanel panel19;
    private JPanel panel20;
    private JLabel label11;
    private JLabel label14;
    private JLabel label15;
    private JLabel label16;
    private JTextField ISBN2;
    private JTextField BookName2;
    private JTextField Author2;
    private JTextField Publisher2;
    private JLabel label17;
    private JTextField Category2;
    private JButton Add2;
    private JLabel Lcategory2;
    private JLabel label18;
    private JTextField BookName3;
    private JPanel panel21;
    private JButton button25;
    private JButton button24;
    private JPanel panel22;
    private JPanel panel23;
    private JLabel label19;
    private JTextField ISBN3;
    private JLabel label20;
    private JTextField textField3;
    private JLabel label21;
    private JButton button26;
    private JPanel panel24;
    private JPanel panel25;
    private JLabel label22;
    private JTextField ISBN4;
    private JButton button27;
    private JPanel panel26;
    private JLabel label23;
    private JLabel label25;
    private JTextField BookName4;
    private JTextField Publisher3;
    private JLabel label26;
    private JTextField Category3;
    private JLabel label27;
    private JTextField BookName5;
    private JTextField Author3;
    private JLabel label24;
    private JButton button28;
    private JPanel panel27;
    private JPanel panel28;
    private JLabel label28;
    private JTextField ISBN5;
    private JButton button29;
    private JPanel panel8;
    private JPanel panel16;
    private JButton button13;
    private JButton button14;
    private JPanel panel29;
    private JPanel panel30;
    private JPanel panel31;
    private JLabel label29;
    private JTextField Rid;
    private JButton button30;
    private JPanel panel11;
    private JPanel panel17;
    private JButton button15;
    private JButton button16;
    private JPanel panel32;
    private JPanel panel33;
    private JLabel label30;
    private JTextField Rid2;
    private JButton button31;
    private JPanel panel15;
    private JPanel panel18;
    private JButton button18;
    private JButton button21;
    private JButton button20;
    private JButton button17;
    private JButton button19;
    private JButton button22;
    private JPanel panel35;
    private JPanel panel36;
    private JLabel label33;
    private JPasswordField passwordField3;
    private JLabel label34;
    private JButton button12;
    private JPasswordField passwordField4;
    private JPanel panel39;
    private JPanel panel38;
    private JLabel label32;
    private JTextField Rid3;
    private JButton button32;
    private JDialog error;
    private JPanel panel1;
    private JLabel errortext;
    private JDialog info;
    private JPanel panel2;
    private JLabel infotext;
    private JDialog warn;
    private JPanel panel3;
    private JLabel warntext;
    // JFormDesigner - End of variables declaration  //GEN-END:variables  @formatter:on
}
